/**
 * 
 */
package net.gamasoft.sistemadeinventarios.util;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import net.gamasoft.sistemadeinventarios.model.Usuario;

/**
 * @author dpaniagua
 *
 */
public class MailNotification {
	
	public static void enviarEmail(Usuario usuario) throws Exception {
		//Se define el servidor que envia las notificaciones.
		final String emailServer = "tecgurus3@gmail.com";
		final String passwordServer = "tecgurus";
		
		//Asignar las propiedades de configuracion del servidor.
		Properties properties = new Properties();
		properties.put("mail.smtp.auth", "true"); //autentificacion del servidor
		properties.put("mail.smtp.host", "smtp.gmail.com"); //host del servidor
		properties.put("mail.smtp.ssl.trust", "smtp.gmail.com");//indica que el servidor es de confianza.
		properties.put("mail.smtp.starttls.enable", "true"); //Se habilitan los permisos de acceso al servidor.
		properties.put("mail.smtp.port", "587");
		
		//Proteger los datos de confidencializacion del servidor.
		Authenticator authenticator = new Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(emailServer, passwordServer);
			}
		};
		
		//Se guardan en sesion las propiedades y el acceso al servidor.
		Session session = Session.getDefaultInstance(properties, authenticator);
		
		//Se crea el contenido del mensaje
		Message message = new MimeMessage(session);
		
		message.setFrom(new InternetAddress(emailServer));
		message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(usuario.getEmail()));
		message.setSubject("Bienvenido al sistema de IT Quality Service");
		message.setContent("<html>" +
								"<body>" +
									"<p>Hola "+usuario.getUsuario()+"</p>" +
								"</body>" +
							"</html>" , "text/html");
		
		//Se envia el mensaje
		Transport.send(message);
	}
}
